// <copyright file="AllSelection.cs" company="Microsoft">
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
//---------------------------------------------------------------------

namespace Microsoft.Data.OData.Query.SemanticAst
{
    using System.Diagnostics.CodeAnalysis;

    /// <summary>
    /// Class that represents a selection of all properties and functions on an entity.
    /// </summary>
    [SuppressMessage("Microsoft.Design", "CA1052:StaticHolderTypesShouldBeSealed", Justification = "This class can't be static because it inherits from selection")]
    internal sealed class AllSelection : Selection
    {
        /// <summary>
        /// Singleton instance of <see cref="AllSelection"/>.
        /// </summary>
        [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes", Justification = "AllSelection is immutable")]
        public static readonly AllSelection Instance = new AllSelection();

        /// <summary>
        /// Creates the singleton instance of this class.
        /// </summary>
        private AllSelection()
        {
        }
    }
}